#ifndef __ADS1299_X_H__
#define __ADS1299_X_H__

#include "ads1299_defs.h"
#include "stdint.h"
#include "string.h"

#define PIN_NOT_USE -1



void ads1299_setup(ads1299_t * p_ads);
void ads1299_init_hardware(ads1299_t * p_ads);

void ads1299_get_id(ads1299_t * p_ads_arr);


void ads_start_by_start_pin(ads1299_t * p_ads);

void ads1299_get_data(ads1299_t * p_ads,uint8_t * rx);

/* __________________ Prototypes Section __________________ */
void ADS1299_HardReset(ads1299_t * ads1299);
void ADS1299_Init(ads1299_t * ads1299);

void ADS1299_Reset(ads1299_t * ads1299);
void ADS1299_WakeUp(ads1299_t * ads1299);
void ADS1299_StandBy(ads1299_t * ads1299);
void ADS1299_StartAdc(ads1299_t * ads1299);
void ADS1299_StopAdc(ads1299_t * ads1299);
uint32_t ADS1299_ReadAdc(ads1299_t * ads1299);
void ADS1299_EnableContRead(ads1299_t * ads1299);
void ADS1299_DisableContRead(ads1299_t * ads1299);

uint8_t ADS1299_ReadReg(ads1299_t * ads1299, uint8_t regAddress);
void ADS1299_WriteReg(ads1299_t * ads1299, uint8_t regAddress, uint8_t data);


/*          Setting Register Data Functions Section          */
void ADS1299_SetConfig1State(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetConfig2State(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetConfig3State(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetConfig4State(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetLoffState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetCh1SetState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetCh2SetState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetCh3SetState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetCh4SetState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetCh5SetState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetCh6SetState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetCh7SetState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetCh8SetState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetLoffSensPState(ads1299_t * ads1299, uint8_t regVal);
void ADS1299_SetLoffSensNState(ads1299_t * ads1299, uint8_t regVal);
/* --------------------------------------------------------- */




#endif



